PROIECTAREA BAZELOR DE DATE RELAȚIONALE Autor: Prof. ARTEMIZA SIMONA PLĂPĂMARU Colegiul de Industrie Alimentară ,,Elena Doamna” Galați 2026 2 CUPRINS 1. GENERALITĂŢI DESPRE BAZE DE DATE...........................................................4 1.1. Niveluri de abstractizare şi de percepţie a datelor…………….……………….5 1.2. Independenţa datelor………………………………………….………………..5 1.3. Limbaje pentru baze de date………………………………….………………..6 1.4. Arhitectura funcţională de referinţă ANSI/X3/SPARC…….………………….7 1.5. Evoluţia SGBD-urilor……………………………………….………………..10 1.6. Arhitecturi multiutilizator pentru SGBD-uri.....................................................12 1.7. Tendinţe viitoare...............................................................................................14 2. DIAGRAME ENTITATE-RELAŢIE.......................................................................17 2.1. Noţiuni generale.................................................................................................17 2.2. Gestiunea activităţilor de împrumut dintr-o bibliotecă......................................21 3. MODELUL RELAŢIONAL.....................................................................................22 3.1. Caracteristici......................................................................................................22 3.1.1. Structura datelor.........................................................................................22 3.1.2. Transformarea entităţilor............................................................................25 3.1.3. Transformarea relaţiilor.............................................................................25 3.1.4.Transformarea atributelor...........................................................................26 3.2. Algebra relaţională............................................................................................28 3.2.1. Operatorul PROJECT................................................................................29 3.2.2. Operatorul SELECT...................................................................................30 3.2.3. Operatorul UNION....................................................................................30 3.2.4. Operatorul DIFFERENCE.........................................................................31 3.2.5. Operatorul INTERSECT............................................................................31 3.2.6. Operatorul PRODUCT...............................................................................32 3.2.7. Operatorul DIVISION................................................................................33 3.2.8. Operatorul JOIN.........................................................................................34 3.2.8.1. Operatorul NATURAL JOIN.............................................................34 3.2.8.2. Operatorul Ө-JOIN............................................................................35 3.2.8.3. Operatorul SEMIJOIN.......................................................................35 3.2.8.4. Operatorul OUTER JOIN..................................................................36 3.3.Evaluarea şi optimizarea interogărilor...............................................................36 3.3.1. Procesarea interogărilor........................................................................36 3.3.2. Proprietăţile operatorilor algebrei relaţionale.......................................38 3.3.3. Enunţul unor reguli de optimizare frecvent folosite.............................39 3.3.4. Regulile lui CODD................................................................................40 4. NORMALIZAREA RELAŢIILOR..................... ....................................................43 4.1. Dependenţe funcţionale.....................................................................................43 4.2. Necesitatea normalizării....................................................................................47 4.3. Forma normală 1 (FN1)....................................................................................50 4.4. Forma normală 2 (FN2)....................................................................................51 4.5. Forma normală 3 (FN3)....................................................................................52 4.5.1. Schema de sinteză pentru obţinerea formei normale 3 (FN3)..............53 3 4.5.2. Forma normală Boyce – Codd (BCNF)................................................57 4.6. Forma normală 4 (FN4)....................................................................................58 4.7. Forma normală 5 (FN5)....................................................................................60 5. CONCLUZII REFERITOARE LA PROIECTAREA BAZELOR DE DATE......63 6. APLICAŢIE - Gestiunea zborurilor şi călătorilor aeroporturilor din România…....69 BIBLIOGRAFIE............................................................................................................76 4 1. GENERALITĂŢI DESPRE BAZE DE DATE Baza de date este un ansamblu structurat de date coerente, fără redundanţă inutilă, astfel încât acestea pot fi prelucrate eficient de mai mulţi utilizatori într-un mod concurent. Un sistem de gestiune a bazei de date (SGBD – Data Base Management System) este un produs software care asigură interacţiunea cu o bază de date, permiţând definirea, consultarea şi actualizarea datelor din baza de date. Organizarea datelor în baze de date constituie o formă de centralizare a acestora. Aceasta implică existenţa unui administrator al bazei de date (ABD – Data Base Administrator) care este o persoană sau un grup de persoane ce răspund de ansamblul activităţilor (analiză, proiectare, implementare, exploatare, întreţinere etc.) legate de baza de date. Dicţionarul datelor, structurat şi administrat ca o bază de date (metabază de date) furnizează descrierea tuturor obiectelor unei baze de date, starea acestor obiecte etc. Arhitectura bazelor de date evidenţiază următoarele componente: • baza de date propriu-zisă în care se memorează datele; • sistemul de gestiune a bazei de date, care realizează gestionarea şi prelucrarea complexă a datelor; • un dicţionar al bazei de date (metabaza de date), ce conţine informaţii despre: date, structura acestora, statistici, documentaţie; • mijloace hardware (comune sau specializate); • reglementări administrative destinate bunei funcţionări a sistemului; • personalul implicat (utilizatori finali, administrator, programatori, operatori). Cerinţele minimale care se impun unei baze de date sunt: • asigurarea unei redundanţe minime în date; • furnizarea în timp util a informaţiilor solicitate (timpul de răspuns la o interogare); • asigurarea unor costuri minime în prelucrarea şi întreţinerea informaţiei; • capacitatea de a satisface, cu aceleaşi date, necesităţi informaţionale ale unui număr mare de utilizatori; • posibilitatea de adaptare la cerinţe noi, răspunsuri la interogări neprevăzute iniţial (flexibilitate); • exploatarea simultană a datelor de către mai mulţi utilizatori (sincronizare); • asigurarea securităţii datelor prin mecanisme de protecţie împotriva accesului neautorizat (confidenţialitate); • înglobarea unor facilităţi destinate validării datelor şi recuperării lor în cazul unor deteriorări accidentale (integritate); 5 • posibilitatea de valorificare a eforturilor anterioare şi anticiparea nevoilor viitoare (compatibilitate şi expandabilitate); • permisivitatea, prin ierarhizarea datelor după criteriul frecvenţei acceselor, a unor reorganizări (eventual dinamice) care sporesc performanţele bazei. 1.1. Niveluri de abstractizare şi de percepţie a datelor • Nivelul fizic (intern) este descris de schema fizică a datelor (bit, octet, adresă); • Nivelul conceptual este descris de schema conceptuală a datelor (articol, înregistare, zonă) şi reprezintă viziunea programatorilor de sistem asupra datelor; • Nivelul logic este descris de una din schemele logice posibile ale datelor şi reprezintă viziunea programatorului de aplicaţie asupra datelor; • Nivelul virtual (extern) reprezintă viziunea utilizatorului final asupra datelor. 1.2. Independenţa datelor • Independenţa fizică reprezintă posibilitatea modificării schemei fizice a datelor fără ca aceasta să implice modificarea schemei conceptuale, a schemei logice şi a programelor de aplicaţie. O modificare a structurii fizice nu va afecta aplicaţia şi reciproc, modificări ale aplicaţiei vor afecta structura fizică de date. • Independenţa logică reprezintă posibilitatea modificării schemei conceptuale a datelor fără ca aceasta să implice modificarea schemei logice şi a programelor de aplicaţie. Utilizatorii unei baze de date sunt: • utilizatori nespecialişti (conversaţionali); • utilizatori specialişti; • administratorul bazei de date. 6 1.3. Limbaje pentru baze de date Există mai multe tipuri de limbaje pentru baze de date cum ar fi: • limbaje pentru definirea datelor (LDD); • limbaje pentru manipularea datelor (LMD); • limbaje pentru controlul datelor (LCD). Obiectivele fundamentale ale unui SGBD sunt: • Independenţa fizică • Independenţa logică • Prelucrarea datelor de către neinformaticieni • Administrarea centralizată a datelor • Neredundanţa datelor • Coerenţa datelor • Partajabilitatea datelor • Securitatea şi confidenţialitatea datelor Structura unui SGBD (complexitate variabilă) este următoarea: • programe de gestiune a bazei de date (PGBD); • module pentru tratarea limbajului de definire a datelor; • module pentru tratarea limbajului de prelucrare a datelor; • module utilitare care realizează întreţinerea, prelucrarea, exploatarea corectă şi uşoară a bazei de date; • module de control care realizează controlul programelor de aplicaţie, asigu- rarea confidenţialităţii şi integrităţii datelor, rezolvarea unor probleme de concurenţă etc. Modulele PGBD asigură accesul fizic la date ca urmare a unei comenzi. Mod de lucru: • găsesc descrierea datelor implicate în comandă; • identifică datele şi tipul acestora; • identifică informaţii ce permit accesul la fişiere, volume etc.; • verifică dacă datele sunt disponibile; • extrag datele, fac conversiile, plasează datele în spaţiul de memorie al utiliza- torului. • transmit informaţii de control necesare execuţiei comenzii, în spaţiul de memorie al utilizatorului; • transferă controlul programului de aplicaţie . Arhitectura unui SGBD 7 • nivelul intern (baza de date fizică) reprezintă structura internă de stocare a datelor → fişiere care conţin datele, articolele din fişiere, drumurile de acces la articole etc.); • nivelul conceptual (modelul conceptual, schema conceptuală); • nivelul extern (modelul extern, subschema, vizualizarea). Pentru o bază de date particulară există o singură schemă internă, o singură schemă conceptuală, dar pot exista mai multe scheme externe. 1.4. Arhitectura funcţională de referinţă ANSI/X3/SPARC Arhitectura ANSI/X3/SPARC este axată pe dicţionarul datelor şi cuprinde: • o parte ce permite descrierea datelor (compoziţia dicţionarului datelor); • o parte ce permite prelucrarea datelor (interogarea şi reactua-lizarea bazei). În fiecare parte se regăsesc cele trei niveluri: intern, conceptual şi extern. Aceste trei niveluri nu sunt neapărat distincte pentru orice SGBD. Interfeţele numerotate corespund următoarelor transformări: a) Limbajul de descriere a datelor conceptuale în format sursă – permite administratorului întreprinderii să definească schema conceptuală în format sursă. b) Limbajul de descriere a datelor conceptuale, format obiect – se obţine din compilarea celui precedent şi permite aranjarea schemei obiect în dicţionarul datelor. c) Limbajul de descriere a datelor conceptuale, format editare – permite admi- nistratorilor aplicaţiilor şi a bazelor să consulte schema conceptuală pentru a define reguli de corespondenţă. d) Limbaje de descriere a datelor externe, format sursă – permit administratorilor aplicaţiilor să definească scheme externe corespunzând schemei conceptuale. Deoarece sistemele de gestiune pot suporta mai multe modele externe, pot exista mai multe limbaje de descriere a datelor externe. e) Limbaje de descriere a datelor externe, format obiect – corespund formelor compilate ale celor precedente şi permit aranjarea schemelor externe (obiect) în dicţionarul datelor. f) Limbaj de descriere a datelor interne, format sursă – permite administratorului bazei de date să definească schema internă şi regulile de corespondenţă cu schema conceptuală. g) Limbaj de descriere a datelor interne, format obiect – corespunde formei compilate a celui precedent şi permite aranjarea schemei interne (obiect) în dicţionarul datelor. 8 h) Limbaje de prelucrare a datelor externe, format sursă – permit programatorilor de aplicaţii sau utilizatorilor neinformaticieni să prelucreze date externe (view). i) Limbaje de prelucrare a datelor externe, format obiect – corespund formelor compilate ale celor precedente. j) Limbaj de prelucrare a datelor conceptuale, format obiect – produs de procesorul de transformare extern/conceptual pentru a preluycra datele externe. k) Limbaj de prelucrare a datelor interne, format obiect – produs de procesorul de transformare conceptual/intern pentru a gestiona datele interne. l) Limbaj de stocare a datelor, format obiect – corespunde interfeţei cu sistemul de stocare a datelor. m) Interfaţa cu memoria secundară – permite efectuarea de intrări/ieşiri în/din unitatea de memorie secundară. n) Interfaţa de acces la dicţionarul datelor – permite diverselor procesoare de transformare să acceseze scheme obiect şi reguli de corespondenţă. 9 Arhitectura de referinţă a unui SGBD. Procesoarele din figură au următoarele funcţii: 1. procesorul schemei conceptuale compilează schema conceptuală şi dacă nu sunt erori depune schema compilată în dicţionarul datelor; 2. procesorul schemei externe compilează schemele externe şi regulile de corespondenţă externă şi dacă nu sunt erori aranjează schema compilată şi regulile de corespondenţă în dicţionarul datelor; 3. procesorul schemei interne are rol similar pentru shema internă; sistem de alocare DESC RIERE administratorul bazei de date administrator întreprindere programator aplicaţie utilizatori procesor schema conceptuală procesor schema internă procesor schema externă dicţionarul datelor procesor intern/ alocare procesor conceptual/ intern procesor extern/ conceptual program aplicaţii extern administratorul aplicaţiilor MAN IPULA RE a c c b g f d e n k j l i h h m memorii secundare Next >